home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / scheme / pseudo-s / pseudo_2.lha / node.pso < prev    next >
Encoding:
Text File  |  1992-02-17  |  14.2 KB  |  337 lines

  1. ; -*- Mode: Lisp; Syntax: Common-Lisp; Package: SCHEME-TRANSLATOR; -*-
  2.  
  3. ; This file was generated by Pseudoscheme 2.8a
  4. ;  running in Lucid Common Lisp 4.0.1
  5. ;  from file /amd/night/b/jar/pseudo/node.scm
  6.  
  7. (SCHI:BEGIN-TRANSLATED-FILE)
  8. (DEFUN NODE?
  9.        (OBJ)
  10.        (IF (SCHI:TRUEP (VECTOR? OBJ))
  11.            (IF (>= (LENGTH (THE SIMPLE-VECTOR OBJ))
  12.                    1)
  13.                (SCHI:TRUE?
  14.                  (MEMBER (SVREF OBJ 0)
  15.                          '(SCHEME::CONSTANT SCHEME::LOCAL-VARIABLE
  16.                            SCHEME::PROGRAM-VARIABLE SCHEME::LAMBDA
  17.                            SCHEME::LETREC SCHEME::IF SCHEME::BEGIN SCHEME::SET!
  18.                            SCHEME::CALL)
  19.                          :TEST
  20.                          #'EQ))
  21.                SCHI:FALSE)
  22.            SCHI:FALSE))
  23. (SCHI:SET-VALUE-FROM-FUNCTION 'NODE? 'SCHEME::NODE?)
  24. (DEFUN NODE-TYPE (NODE) (SVREF NODE 0))
  25. (SCHI:SET-VALUE-FROM-FUNCTION 'NODE-TYPE
  26.                               'SCHEME::NODE-TYPE)
  27. (DEFUN NODE-PREDICATE
  28.        (.TYPE)
  29.        #'(LAMBDA (NODE) (SCHI:TRUE? (EQ (NODE-TYPE NODE) .TYPE))))
  30. (SCHI:SET-VALUE-FROM-FUNCTION 'NODE-PREDICATE
  31.                               'SCHEME::NODE-PREDICATE)
  32. (DEFUN NODE-ACCESSOR
  33.        (.TYPE INDEX)
  34.        #'(LAMBDA (NODE)
  35.           (IF (NOT (EQ (NODE-TYPE NODE) .TYPE))
  36.            (.ERROR "wrong node type" NODE .TYPE))
  37.           (SVREF NODE INDEX)))
  38. (SCHI:SET-VALUE-FROM-FUNCTION 'NODE-ACCESSOR
  39.                               'SCHEME::NODE-ACCESSOR)
  40. (DEFUN NODE-MODIFIER
  41.        (.TYPE INDEX)
  42.        #'(LAMBDA (NODE NEW-VAL)
  43.           (IF (NOT (EQ (NODE-TYPE NODE) .TYPE))
  44.            (.ERROR "wrong node type" NODE .TYPE))
  45.           (SETF (SVREF NODE INDEX) NEW-VAL) SCHI:UNSPECIFIED))
  46. (SCHI:SET-VALUE-FROM-FUNCTION 'NODE-MODIFIER
  47.                               'SCHEME::NODE-MODIFIER)
  48. (DEFUN MAKE-CONSTANT
  49.        (VAL QUOTED?)
  50.        (VECTOR 'SCHEME::CONSTANT VAL QUOTED?))
  51. (SCHI:SET-VALUE-FROM-FUNCTION 'MAKE-CONSTANT
  52.                               'SCHEME::MAKE-CONSTANT)
  53. (LOCALLY (DECLARE (SPECIAL CONSTANT?))
  54.          (SETQ CONSTANT? (NODE-PREDICATE 'SCHEME::CONSTANT)))
  55. (SCHI:SET-FUNCTION-FROM-VALUE 'CONSTANT?
  56.                               'SCHEME::CONSTANT?)
  57. (LOCALLY (DECLARE (SPECIAL CONSTANT-VALUE))
  58.          (SETQ CONSTANT-VALUE (NODE-ACCESSOR 'SCHEME::CONSTANT
  59.                                              1)))
  60. (SCHI:SET-FUNCTION-FROM-VALUE 'CONSTANT-VALUE
  61.                               'SCHEME::CONSTANT-VALUE)
  62. (LOCALLY (DECLARE (SPECIAL CONSTANT-QUOTED?))
  63.          (SETQ CONSTANT-QUOTED? (NODE-ACCESSOR 'SCHEME::CONSTANT
  64.                                                2)))
  65. (SCHI:SET-FUNCTION-FROM-VALUE 'CONSTANT-QUOTED?
  66.                               'SCHEME::CONSTANT-QUOTED?)
  67. (DEFUN MAKE-LAMBDA
  68.        (VARS BODY-NODE)
  69.        (VECTOR 'SCHEME::LAMBDA VARS BODY-NODE))
  70. (SCHI:SET-VALUE-FROM-FUNCTION 'MAKE-LAMBDA
  71.                               'SCHEME::MAKE-LAMBDA)
  72. (LOCALLY (DECLARE (SPECIAL LAMBDA?))
  73.          (SETQ LAMBDA? (NODE-PREDICATE 'SCHEME::LAMBDA)))
  74. (SCHI:SET-FUNCTION-FROM-VALUE 'LAMBDA? 'SCHEME::LAMBDA?)
  75. (LOCALLY (DECLARE (SPECIAL LAMBDA-VARS))
  76.          (SETQ LAMBDA-VARS (NODE-ACCESSOR 'SCHEME::LAMBDA 1)))
  77. (SCHI:SET-FUNCTION-FROM-VALUE 'LAMBDA-VARS
  78.                               'SCHEME::LAMBDA-VARS)
  79. (LOCALLY (DECLARE (SPECIAL LAMBDA-BODY))
  80.          (SETQ LAMBDA-BODY (NODE-ACCESSOR 'SCHEME::LAMBDA 2)))
  81. (SCHI:SET-FUNCTION-FROM-VALUE 'LAMBDA-BODY
  82.                               'SCHEME::LAMBDA-BODY)
  83. (DEFUN N-ARY?
  84.        (PROC)
  85.        (SCHI:TRUE? (NOT (SCHI:TRUEP (PROPER-LIST? (LAMBDA-VARS PROC))))))
  86. (SCHI:SET-VALUE-FROM-FUNCTION 'N-ARY? 'SCHEME::N-ARY?)
  87. (DEFUN PROPER-LIST?
  88.        (THING)
  89.        (OR (NULL THING)
  90.            (IF (CONSP THING)
  91.                (SCHI:TRUE? (NULL (CDR (LAST-PAIR THING))))
  92.                SCHI:FALSE)))
  93. (SCHI:SET-VALUE-FROM-FUNCTION 'PROPER-LIST?
  94.                               'SCHEME::PROPER-LIST?)
  95. (DEFUN PROPER-LISTIFY
  96.        (THING)
  97.        (IF (NULL THING)
  98.            'NIL
  99.            (IF (CONSP THING)
  100.                (CONS (CAR THING)
  101.                      (PROPER-LISTIFY (CDR THING)))
  102.                (LIST THING))))
  103. (SCHI:SET-VALUE-FROM-FUNCTION 'PROPER-LISTIFY
  104.                               'SCHEME::PROPER-LISTIFY)
  105. (DEFUN MAP-BVL
  106.        (PROC BVL)
  107.        (IF (NULL BVL)
  108.            'NIL
  109.            (IF (CONSP BVL)
  110.                (CONS (FUNCALL PROC (CAR BVL))
  111.                      (MAP-BVL PROC (CDR BVL)))
  112.                (FUNCALL PROC BVL))))
  113. (SCHI:SET-VALUE-FROM-FUNCTION 'MAP-BVL 'SCHEME::MAP-BVL)
  114. (DEFUN MAKE-LETREC
  115.        (VARS VAL-NODES BODY-NODE)
  116.        (VECTOR 'SCHEME::LETREC
  117.                VARS
  118.                VAL-NODES
  119.                BODY-NODE
  120.                SCHI:FALSE))
  121. (SCHI:SET-VALUE-FROM-FUNCTION 'MAKE-LETREC
  122.                               'SCHEME::MAKE-LETREC)
  123. (LOCALLY (DECLARE (SPECIAL LETREC?))
  124.          (SETQ LETREC? (NODE-PREDICATE 'SCHEME::LETREC)))
  125. (SCHI:SET-FUNCTION-FROM-VALUE 'LETREC? 'SCHEME::LETREC?)
  126. (LOCALLY (DECLARE (SPECIAL LETREC-VARS))
  127.          (SETQ LETREC-VARS (NODE-ACCESSOR 'SCHEME::LETREC 1)))
  128. (SCHI:SET-FUNCTION-FROM-VALUE 'LETREC-VARS
  129.                               'SCHEME::LETREC-VARS)
  130. (LOCALLY (DECLARE (SPECIAL LETREC-VALS))
  131.          (SETQ LETREC-VALS (NODE-ACCESSOR 'SCHEME::LETREC 2)))
  132. (SCHI:SET-FUNCTION-FROM-VALUE 'LETREC-VALS
  133.                               'SCHEME::LETREC-VALS)
  134. (LOCALLY (DECLARE (SPECIAL LETREC-BODY))
  135.          (SETQ LETREC-BODY (NODE-ACCESSOR 'SCHEME::LETREC 3)))
  136. (SCHI:SET-FUNCTION-FROM-VALUE 'LETREC-BODY
  137.                               'SCHEME::LETREC-BODY)
  138. (LOCALLY (DECLARE (SPECIAL LETREC-STRATEGY))
  139.          (SETQ LETREC-STRATEGY (NODE-ACCESSOR 'SCHEME::LETREC 4)))
  140. (SCHI:SET-FUNCTION-FROM-VALUE 'LETREC-STRATEGY
  141.                               'SCHEME::LETREC-STRATEGY)
  142. (LOCALLY (DECLARE (SPECIAL SET-LETREC-STRATEGY!))
  143.          (SETQ SET-LETREC-STRATEGY! (NODE-MODIFIER 'SCHEME::LETREC
  144.                                                    4)))
  145. (SCHI:SET-FUNCTION-FROM-VALUE 'SET-LETREC-STRATEGY!
  146.                               'SCHEME::SET-LETREC-STRATEGY!)
  147. (DEFUN MAKE-IF
  148.        (TEST CON ALT)
  149.        (VECTOR 'SCHEME::IF TEST CON ALT))
  150. (SCHI:SET-VALUE-FROM-FUNCTION 'MAKE-IF 'SCHEME::MAKE-IF)
  151. (LOCALLY (DECLARE (SPECIAL IF?))
  152.          (SETQ IF? (NODE-PREDICATE 'SCHEME::IF)))
  153. (SCHI:SET-FUNCTION-FROM-VALUE 'IF? 'SCHEME::IF?)
  154. (LOCALLY (DECLARE (SPECIAL IF-TEST))
  155.          (SETQ IF-TEST (NODE-ACCESSOR 'SCHEME::IF 1)))
  156. (SCHI:SET-FUNCTION-FROM-VALUE 'IF-TEST 'SCHEME::IF-TEST)
  157. (LOCALLY (DECLARE (SPECIAL IF-CON))
  158.          (SETQ IF-CON (NODE-ACCESSOR 'SCHEME::IF 2)))
  159. (SCHI:SET-FUNCTION-FROM-VALUE 'IF-CON 'SCHEME::IF-CON)
  160. (LOCALLY (DECLARE (SPECIAL IF-ALT))
  161.          (SETQ IF-ALT (NODE-ACCESSOR 'SCHEME::IF 3)))
  162. (SCHI:SET-FUNCTION-FROM-VALUE 'IF-ALT 'SCHEME::IF-ALT)
  163. (DEFUN MAKE-BEGIN
  164.        (.FIRST .SECOND)
  165.        (VECTOR 'SCHEME::BEGIN .FIRST .SECOND))
  166. (SCHI:SET-VALUE-FROM-FUNCTION 'MAKE-BEGIN
  167.                               'SCHEME::MAKE-BEGIN)
  168. (LOCALLY (DECLARE (SPECIAL BEGIN?))
  169.          (SETQ BEGIN? (NODE-PREDICATE 'SCHEME::BEGIN)))
  170. (SCHI:SET-FUNCTION-FROM-VALUE 'BEGIN? 'SCHEME::BEGIN?)
  171. (LOCALLY (DECLARE (SPECIAL BEGIN-FIRST))
  172.          (SETQ BEGIN-FIRST (NODE-ACCESSOR 'SCHEME::BEGIN 1)))
  173. (SCHI:SET-FUNCTION-FROM-VALUE 'BEGIN-FIRST
  174.                               'SCHEME::BEGIN-FIRST)
  175. (LOCALLY (DECLARE (SPECIAL BEGIN-SECOND))
  176.          (SETQ BEGIN-SECOND (NODE-ACCESSOR 'SCHEME::BEGIN 2)))
  177. (SCHI:SET-FUNCTION-FROM-VALUE 'BEGIN-SECOND
  178.                               'SCHEME::BEGIN-SECOND)
  179. (DEFUN MAKE-SET!
  180.        (LHS RHS)
  181.        (VECTOR 'SCHEME::SET! LHS RHS))
  182. (SCHI:SET-VALUE-FROM-FUNCTION 'MAKE-SET!
  183.                               'SCHEME::MAKE-SET!)
  184. (LOCALLY (DECLARE (SPECIAL SET!?))
  185.          (SETQ SET!? (NODE-PREDICATE 'SCHEME::SET!)))
  186. (SCHI:SET-FUNCTION-FROM-VALUE 'SET!? 'SCHEME::SET!?)
  187. (LOCALLY (DECLARE (SPECIAL SET!-LHS))
  188.          (SETQ SET!-LHS (NODE-ACCESSOR 'SCHEME::SET! 1)))
  189. (SCHI:SET-FUNCTION-FROM-VALUE 'SET!-LHS
  190.                               'SCHEME::SET!-LHS)
  191. (LOCALLY (DECLARE (SPECIAL SET!-RHS))
  192.          (SETQ SET!-RHS (NODE-ACCESSOR 'SCHEME::SET! 2)))
  193. (SCHI:SET-FUNCTION-FROM-VALUE 'SET!-RHS
  194.                               'SCHEME::SET!-RHS)
  195. (DEFUN MAKE-CALL
  196.        (PROC-NODE ARG-NODES)
  197.        (VECTOR 'SCHEME::CALL PROC-NODE ARG-NODES))
  198. (SCHI:SET-VALUE-FROM-FUNCTION 'MAKE-CALL
  199.                               'SCHEME::MAKE-CALL)
  200. (LOCALLY (DECLARE (SPECIAL CALL?))
  201.          (SETQ CALL? (NODE-PREDICATE 'SCHEME::CALL)))
  202. (SCHI:SET-FUNCTION-FROM-VALUE 'CALL? 'SCHEME::CALL?)
  203. (LOCALLY (DECLARE (SPECIAL CALL-PROC))
  204.          (SETQ CALL-PROC (NODE-ACCESSOR 'SCHEME::CALL 1)))
  205. (SCHI:SET-FUNCTION-FROM-VALUE 'CALL-PROC
  206.                               'SCHEME::CALL-PROC)
  207. (LOCALLY (DECLARE (SPECIAL CALL-ARGS))
  208.          (SETQ CALL-ARGS (NODE-ACCESSOR 'SCHEME::CALL 2)))
  209. (SCHI:SET-FUNCTION-FROM-VALUE 'CALL-ARGS
  210.                               'SCHEME::CALL-ARGS)
  211. (DEFUN MAKE-DEFINE
  212.        (LHS RHS)
  213.        (VECTOR 'SCHEME::DEFINE LHS RHS))
  214. (SCHI:SET-VALUE-FROM-FUNCTION 'MAKE-DEFINE
  215.                               'SCHEME::MAKE-DEFINE)
  216. (LOCALLY (DECLARE (SPECIAL DEFINE?))
  217.          (SETQ DEFINE? (NODE-PREDICATE 'SCHEME::DEFINE)))
  218. (SCHI:SET-FUNCTION-FROM-VALUE 'DEFINE? 'SCHEME::DEFINE?)
  219. (LOCALLY (DECLARE (SPECIAL DEFINE-LHS))
  220.          (SETQ DEFINE-LHS (NODE-ACCESSOR 'SCHEME::DEFINE 1)))
  221. (SCHI:SET-FUNCTION-FROM-VALUE 'DEFINE-LHS
  222.                               'SCHEME::DEFINE-LHS)
  223. (LOCALLY (DECLARE (SPECIAL DEFINE-RHS))
  224.          (SETQ DEFINE-RHS (NODE-ACCESSOR 'SCHEME::DEFINE 2)))
  225. (SCHI:SET-FUNCTION-FROM-VALUE 'DEFINE-RHS
  226.                               'SCHEME::DEFINE-RHS)
  227. (DEFUN MAKE-LOCAL-VARIABLE
  228.        (UNAME)
  229.        (VECTOR 'SCHEME::LOCAL-VARIABLE
  230.                UNAME
  231.                SCHI:FALSE
  232.                SCHI:FALSE
  233.                SCHI:FALSE
  234.                SCHI:FALSE
  235.                SCHI:FALSE
  236.                SCHI:FALSE
  237.                SCHI:FALSE))
  238. (SCHI:SET-VALUE-FROM-FUNCTION 'MAKE-LOCAL-VARIABLE
  239.                               'SCHEME::MAKE-LOCAL-VARIABLE)
  240. (LOCALLY (DECLARE (SPECIAL LOCAL-VARIABLE?))
  241.          (SETQ LOCAL-VARIABLE? (NODE-PREDICATE 'SCHEME::LOCAL-VARIABLE)))
  242. (SCHI:SET-FUNCTION-FROM-VALUE 'LOCAL-VARIABLE?
  243.                               'SCHEME::LOCAL-VARIABLE?)
  244. (LOCALLY (DECLARE (SPECIAL LOCAL-VARIABLE-NAME))
  245.          (SETQ LOCAL-VARIABLE-NAME (NODE-ACCESSOR 'SCHEME::LOCAL-VARIABLE
  246.                                                   1)))
  247. (SCHI:SET-FUNCTION-FROM-VALUE 'LOCAL-VARIABLE-NAME
  248.                               'SCHEME::LOCAL-VARIABLE-NAME)
  249. (LOCALLY (DECLARE (SPECIAL VARIABLE-SUBSTITUTION))
  250.          (SETQ VARIABLE-SUBSTITUTION (NODE-ACCESSOR 'SCHEME::LOCAL-VARIABLE
  251.                                                     3)))
  252. (SCHI:SET-FUNCTION-FROM-VALUE 'VARIABLE-SUBSTITUTION
  253.                               'SCHEME::VARIABLE-SUBSTITUTION)
  254. (LOCALLY (DECLARE (SPECIAL SET-SUBSTITUTION!))
  255.          (SETQ SET-SUBSTITUTION! (NODE-MODIFIER 'SCHEME::LOCAL-VARIABLE
  256.                                                 3)))
  257. (SCHI:SET-FUNCTION-FROM-VALUE 'SET-SUBSTITUTION!
  258.                               'SCHEME::SET-SUBSTITUTION!)
  259. (LOCALLY (DECLARE (SPECIAL VARIABLE-VALUE-REFS?))
  260.          (SETQ VARIABLE-VALUE-REFS? (NODE-ACCESSOR 'SCHEME::LOCAL-VARIABLE
  261.                                                    5)))
  262. (SCHI:SET-FUNCTION-FROM-VALUE 'VARIABLE-VALUE-REFS?
  263.                               'SCHEME::VARIABLE-VALUE-REFS?)
  264. (LOCALLY (DECLARE (SPECIAL VARIABLE-PROC-REFS?))
  265.          (SETQ VARIABLE-PROC-REFS? (NODE-ACCESSOR 'SCHEME::LOCAL-VARIABLE
  266.                                                   6)))
  267. (SCHI:SET-FUNCTION-FROM-VALUE 'VARIABLE-PROC-REFS?
  268.                               'SCHEME::VARIABLE-PROC-REFS?)
  269. (LOCALLY (DECLARE (SPECIAL VARIABLE-ASSIGNED?))
  270.          (SETQ VARIABLE-ASSIGNED? (NODE-ACCESSOR 'SCHEME::LOCAL-VARIABLE
  271.                                                  7)))
  272. (SCHI:SET-FUNCTION-FROM-VALUE 'VARIABLE-ASSIGNED?
  273.                               'SCHEME::VARIABLE-ASSIGNED?)
  274. (LOCALLY (DECLARE (SPECIAL VARIABLE-CLOSED-OVER?))
  275.          (SETQ VARIABLE-CLOSED-OVER? (NODE-ACCESSOR 'SCHEME::LOCAL-VARIABLE
  276.                                                     8)))
  277. (SCHI:SET-FUNCTION-FROM-VALUE 'VARIABLE-CLOSED-OVER?
  278.                               'SCHEME::VARIABLE-CLOSED-OVER?)
  279. (DEFUN SET-VALUE-REFS!
  280.        (VAR)
  281.        (FUNCALL (NODE-MODIFIER 'SCHEME::LOCAL-VARIABLE 5)
  282.                 VAR
  283.                 SCHI:TRUE))
  284. (SCHI:SET-VALUE-FROM-FUNCTION 'SET-VALUE-REFS!
  285.                               'SCHEME::SET-VALUE-REFS!)
  286. (DEFUN SET-PROC-REFS!
  287.        (VAR)
  288.        (FUNCALL (NODE-MODIFIER 'SCHEME::LOCAL-VARIABLE 6)
  289.                 VAR
  290.                 SCHI:TRUE))
  291. (SCHI:SET-VALUE-FROM-FUNCTION 'SET-PROC-REFS!
  292.                               'SCHEME::SET-PROC-REFS!)
  293. (DEFUN SET-ASSIGNED!
  294.        (VAR)
  295.        (FUNCALL (NODE-MODIFIER 'SCHEME::LOCAL-VARIABLE 7)
  296.                 VAR
  297.                 SCHI:TRUE))
  298. (SCHI:SET-VALUE-FROM-FUNCTION 'SET-ASSIGNED!
  299.                               'SCHEME::SET-ASSIGNED!)
  300. (DEFUN SET-CLOSED-OVER!
  301.        (VAR)
  302.        (FUNCALL (NODE-MODIFIER 'SCHEME::LOCAL-VARIABLE 8)
  303.                 VAR
  304.                 SCHI:TRUE))
  305. (SCHI:SET-VALUE-FROM-FUNCTION 'SET-CLOSED-OVER!
  306.                               'SCHEME::SET-CLOSED-OVER!)
  307. (DEFUN MAKE-PROGRAM-VARIABLE
  308.        (NAME CL-SYMBOL)
  309.        (VECTOR 'SCHEME::PROGRAM-VARIABLE
  310.                NAME
  311.                CL-SYMBOL))
  312. (SCHI:SET-VALUE-FROM-FUNCTION 'MAKE-PROGRAM-VARIABLE
  313.                               'SCHEME::MAKE-PROGRAM-VARIABLE)
  314. (LOCALLY (DECLARE (SPECIAL PROGRAM-VARIABLE?))
  315.          (SETQ PROGRAM-VARIABLE? (NODE-PREDICATE 'SCHEME::PROGRAM-VARIABLE)))
  316. (SCHI:SET-FUNCTION-FROM-VALUE 'PROGRAM-VARIABLE?
  317.                               'SCHEME::PROGRAM-VARIABLE?)
  318. (LOCALLY (DECLARE (SPECIAL PROGRAM-VARIABLE-NAME))
  319.          (SETQ PROGRAM-VARIABLE-NAME (NODE-ACCESSOR 'SCHEME::PROGRAM-VARIABLE
  320.                                                     1)))
  321. (SCHI:SET-FUNCTION-FROM-VALUE 'PROGRAM-VARIABLE-NAME
  322.                               'SCHEME::PROGRAM-VARIABLE-NAME)
  323. (LOCALLY (DECLARE (SPECIAL PROGRAM-VARIABLE-CL-SYMBOL))
  324.          (SETQ PROGRAM-VARIABLE-CL-SYMBOL (NODE-ACCESSOR
  325.                                             'SCHEME::PROGRAM-VARIABLE
  326.                                             2)))
  327. (SCHI:SET-FUNCTION-FROM-VALUE 'PROGRAM-VARIABLE-CL-SYMBOL
  328.                               'SCHEME::PROGRAM-VARIABLE-CL-SYMBOL)
  329. (DEFUN VARIABLE?
  330.        (NODE)
  331.        (LET ((TEMP (LOCAL-VARIABLE? NODE)))
  332.          (IF (SCHI:TRUEP TEMP)
  333.              TEMP
  334.              (PROGRAM-VARIABLE? NODE))))
  335. (SCHI:SET-VALUE-FROM-FUNCTION 'VARIABLE?
  336.                               'SCHEME::VARIABLE?)
  337.